Skip to content

Improve compatibility with Wayland clipboard #30251

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
May 30, 2025

Conversation

aldofunes
Copy link
Contributor

Closes #26672, #20984

Release Notes:

  • Fixed issue where some applications won't receive the clipboard contents from Zed

Copy link

cla-bot bot commented May 8, 2025

We require contributors to sign our Contributor License Agreement, and we don't have @aldofunes on file. You can sign our CLA at https://zed.dev/cla. Once you've signed, post a comment here that says '@cla-bot check'.

@aldofunes
Copy link
Contributor Author

@cla-bot check

@cla-bot cla-bot bot added the cla-signed The user has signed the Contributor License Agreement label May 8, 2025
Copy link

cla-bot bot commented May 8, 2025

The cla-bot has been summoned, and re-checked this pull request!

This commit adds UTF8_STRING and text/plain to wayland clipboard
@gift-sequoiaat
Copy link

Hi could this fix also be related to clipboard issues on Pop!_OS? I'm experiencing something similar — occasionally I can't copy from Zed.

Copy link
Member

@mikayla-maki mikayla-maki left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Glad the fix was so straightforward! I'd be happy to add even more here if they make sense :)

@mikayla-maki mikayla-maki enabled auto-merge (squash) May 30, 2025 17:07
@mikayla-maki mikayla-maki merged commit f8097c7 into zed-industries:main May 30, 2025
19 checks passed
mzaks added a commit to mzaks/zed that referenced this pull request Jun 2, 2025
commit 3fb1023667e1ce4affce4a9177fe11800d838115
Author: Smit Barmase <[email protected]>
Date:   Mon Jun 2 16:37:36 2025 +0530

    editor: Fix columnar selection incorrectly uses cursor to start selection instead of mouse position (#31888)

    Closes #13905

    This PR fixes columnar selection to originate from mouse position
    instead of current cursor position. Now columnar selection behaves as
    same as Sublime Text.

    1. Columnar selection from click-and-drag on text (New):

    https://github.com/user-attachments/assets/f2e721f4-109f-4d81-a25b-8534065bfb37

    2. Columnar selection from click-and-drag on empty space (New):

    https://github.com/user-attachments/assets/c2bb02e9-c006-4193-8d76-097233a47a3c

    3. Multi cursors at end of line when no interecting text found (New):

    https://github.com/user-attachments/assets/e47d5ab3-0b5f-4e55-81b3-dfe450f149b5

    4. Converting normal selection to columnar selection (Existing):

    https://github.com/user-attachments/assets/e5715679-ebae-4f5a-ad17-d29864e14e1e

    Release Notes:

    - Fixed the issue where the columnar selection (`opt+shift`) incorrectly
    used the cursor to start the selection instead of the mouse position.

commit 9c715b470e46a9e500d5fb6139122fd5ed4707da
Author: Umesh Yadav <[email protected]>
Date:   Mon Jun 2 16:05:22 2025 +0530

    agent: Show actual file name and icon in context pill (#31813)

    Previously in the agent context pill if we added images it showed
    generic Image tag on the image context pill. This PR make sure if we
    have a path available for a image context show the filename which is in
    line with other context pills.

    Before | After
    --- | ---
    ![Screenshot 2025-05-31 at 3 14 07
    PM](https://github.com/user-attachments/assets/b342f046-2c1c-4c18-bb26-2926933d5d34)
    | ![Screenshot 2025-05-31 at 3 14 07
    PM](https://github.com/user-attachments/assets/90ad4062-cdc6-4274-b9cd-834b76e8e11b)

    Release Notes:

    - N/A

    ---------

    Co-authored-by: Bennet Bo Fenner <[email protected]>

commit ae219e9e99f47b6bd23f1c7557af449897d49847
Author: Oleksiy Syvokon <[email protected]>
Date:   Mon Jun 2 13:18:44 2025 +0300

    agent: Fix bug with double-counting tokens in Gemini (#31885)

    We report the total number of input tokens by summing the numbers of
    1. Prompt tokens
    2. Cached tokens

    But Google API returns prompt tokens (1) that already include cached
    tokens (2), so we were double counting tokens in some cases.

    Release Notes:

    - Fixed bug with double-counting tokens in Gemini

commit 6d99c127967b1e7455458cb36aca298b4f679b7a
Author: Bennet Bo Fenner <[email protected]>
Date:   Mon Jun 2 11:52:47 2025 +0200

    assistant_context_editor: Fix copy paste regression (#31882)

    Closes #31166

    Release Notes:

    - Fixed an issue where copying and pasting an assistant response in text
    threads would result in duplicate text

commit 8fb7fa941ac2225ebee3458402c1fabc8239c035
Author: Kirill Bulatov <[email protected]>
Date:   Mon Jun 2 11:59:57 2025 +0300

    Suppress log blade_graphics -related logs by default (#31881)

    Release Notes:

    - N/A

commit 22d75b798e192290e931966daed00c28b391baef
Author: Joseph T. Lyons <[email protected]>
Date:   Mon Jun 2 02:58:57 2025 -0400

    Notify when pinning a tab even if the tab isn't moved (#31880)

    The optimization to not move a tab being pinned (when the destination
    index is the same as its index) in
    https://github.com/zed-industries/zed/pull/31871 caused a regression, as
    we were no longer calling `cx.notify()` indirectly through `move_item`.
    Thanks for catching this, @smitbarmase.

    Release Notes:

    - N/A

commit 06a199da4d8a147c7867f4c82ffafed4974bea24
Author: Smit Barmase <[email protected]>
Date:   Mon Jun 2 10:45:40 2025 +0530

    editor: Fix completion accept for optional chaining in Typescript (#31878)

    Closes #31662

    Currently, we assume `insert_range` will always end at the cursor and
    `replace_range` will also always end after the cursor for calculating
    range to replace. This is a particular case for the rust-analyzer, but
    not widely true for other language servers.

    This PR fixes this assumption, and now `insert_range` and
    `replace_range` both can end before cursor.

    In this particular case:
    ```ts
    let x: string | undefined;

    x.tostˇ // here insert as well as replace range is just "." while new_text is "?.toString()"
    ```

    This change makes it such that if final range to replace ends before
    cursor, we extend it till the cursor.

    Bonus:
    - Improves suffix and subsequence matching to use `label` over
    `new_text` as `new_text` can contain end characters like `()` or `$`
    which is not visible while accepting the completion.
    - Make suffix and subsequence check case insensitive.
    - Fixes broken subsequence matching which was not considering the order
    of characters while matching subsequence.

    Release Notes:

    - Fixed an issue where autocompleting optional chaining methods in
    TypeScript, such as `x.tostr`, would result in `x?.toString()tostr`
    instead of `x?.toString()`.

commit ab6125ddde518c0c021ecae54f64d86b8c4f5008
Author: Joseph T. Lyons <[email protected]>
Date:   Sun Jun 1 19:50:06 2025 -0400

    Fix bugs around pinned tabs (#31871)

    Closes https://github.com/zed-industries/zed/issues/31870

    Release Notes:

    - Allowed opening 1 more item if `n` tabs are pinned, where `n` equals
    `max_tabs` count.
    - Fixed a bug where pinned tabs would eventually be closed out when
    exceeding the `max_tabs` count.
    - Fixed a bug where a tab could be lost when pinning a tab while at the
    `max_tabs` count.
    - Fixed a bug where pinning a tab when already at the `max_tabs` limit
    could cause other tabs to be incorrectly closed.

commit d3bc561f26e8077a1de8ffb98b7d9e012133980c
Author: Joseph T. Lyons <[email protected]>
Date:   Sun Jun 1 11:15:33 2025 -0400

    Disable close clean menu item when all are dirty (#31859)

    This PR disables the "Close Clean" tab context menu action if all items
    are dirty.

    <img width="595" alt="SCR-20250601-kaev"
    src="https://github.com/user-attachments/assets/add30762-b483-4701-9053-141d2dfe9b05"
    />

    <img width="573" alt="SCR-20250601-kahl"
    src="https://github.com/user-attachments/assets/24f260e4-01d6-48d6-a6f4-a13ae59c246e"
    />

    Also did a bit more general refactoring.

    Release Notes:

    - N/A

commit f13f2dfb70f28fae4f844d99b80d875588501a8f
Author: Joseph T. Lyons <[email protected]>
Date:   Sat May 31 23:31:38 2025 -0400

    Ensure item-closing actions do not panic when no items are present (#31845)

    This PR adds a comprehensive test that ensures that no item-closing
    action will panic when no items are present. A test already existed
    (`test_remove_active_empty `) that ensured `CloseActiveItem` didn't
    panic, but the new test covers:

    - `CloseActiveItem`
    - `CloseInactiveItems`
    - `CloseAllItems`
    - `CloseCleanItems`
    - `CloseItemsToTheRight`
    - `CloseItemsToTheLeft`

    I plan to do a bit more clean up in `pane.rs` and this feels like a good
    thing to add before that.

    Release Notes:

    - N/A

commit 24e4446cd35a7946674c8993cc14138d4b67e194
Author: Joseph T. Lyons <[email protected]>
Date:   Sat May 31 19:38:32 2025 -0400

    Refactor item-closing actions (#31838)

    While working on

    - https://github.com/zed-industries/zed/pull/31783
    - https://github.com/zed-industries/zed/pull/31786

    ... I noticed some areas that could be improved through refactoring. The
    bug in https://github.com/zed-industries/zed/pull/31783 came from having
    duplicate code. The fix had been applied to one version, but not the
    duplicated code.

    This PR attempts to do some initial clean up, through some refactoring.

    Release Notes:

    - N/A

commit cc536655a1efc2b82a978faf22a1ad9ffc3a57d8
Author: Aleksei Gusev <[email protected]>
Date:   Sat May 31 20:02:56 2025 +0300

    Fix slowness in Terminal when vi-mode is enabled (#31824)

    It seems alacritty handles vi-mode motions in a special way and it is up
    to the client to decide when redraw is necessary. With this change,
    `TerminalView` notifies the context if a keystroke is processed and vi
    mode is enabled.

    Fixes #31447

    Before:

    https://github.com/user-attachments/assets/a78d4ba0-23a3-4660-a834-2f92948f586c

    After:

    https://github.com/user-attachments/assets/cabbb0f4-a1f9-4f1c-87d8-a56a10e35cc8

    Release Notes:

    - Fixed sluggish cursor motions in Terminal when Vi Mode is enabled
    [#31447]

commit 2a9e73c65d79e2a34dc0f005963f8050946c34ee
Author: Kartik Vashistha <[email protected]>
Date:   Sat May 31 15:30:29 2025 +0100

    docs: Update Ansible docs (#31817)

    Release Notes:

    - N/A

commit 4f1728e5ee0bb7f9981d3d8e5dd702728e1ff48e
Author: Kirill Bulatov <[email protected]>
Date:   Sat May 31 13:10:15 2025 +0300

    Do not unwrap when updating inline diagnostics (#31814)

    Also do not hold the strong editor reference while debounced.

    Release Notes:

    - N/A

commit 40c91d5df06b6d3f213c9cfda3ceb243ed0b2f12
Author: Christian Bergschneider <[email protected]>
Date:   Sat May 31 00:45:03 2025 +0200

    gpui: Implement window_handle and display_handle for wayland platform (#28152)

    This PR implements the previously unimplemented window_handle and
    display_handle methods in the wayland platform. It also exposes the
    display_handle method through the Window struct.

    Release Notes:

    - N/A

commit fe1b36671dfad10a403c45212ba2fd1e9e284418
Author: Kirill Bulatov <[email protected]>
Date:   Sat May 31 01:37:40 2025 +0300

    Do not error on debugger server connection close (#31795)

    Start to show islands of logs in a successful debugger runs for Rust:

    <img width="1728" alt="1"
    src="https://github.com/user-attachments/assets/7400201b-b900-4b20-8adf-21850ae59671"
    />

    <img width="1728" alt="2"
    src="https://github.com/user-attachments/assets/e75cc5f1-1f74-41d6-b7aa-697a4b2f055b"
    />

    Release Notes:

    - N/A

commit bb9e2b040395ecef28f11706ef3df20d0faa279b
Author: Agus Zubiaga <[email protected]>
Date:   Fri May 30 19:06:08 2025 -0300

    Fix existing CompletionMode deserialization (#31790)

    https://github.com/zed-industries/zed/pull/31668 renamed
    `CompletionMode::Max` to `CompletionMode::Burn` which is a good change,
    but this broke the deserialization for threads whose completion mode was
    stored in LMDB. This adds a deserialization alias so that both values
    work.

    We could make a full new `SerializedThread` version which migrates this
    value, but that seems overkill for this single change, we can batch that
    with more changes later. Also, people in nightly already have some v1
    threads with `burn` stored, so it wouldn't quite work for everybody.

    Release Notes:

    - N/A

commit 4f8d7f0a6b72a2e7da9d15a1ead9e8436be914e6
Author: Yaroslav Pietukhov <[email protected]>
Date:   Sat May 31 00:22:52 2025 +0300

    Disallow running Zed with root privileges (#31331)

    This will fix a lot of weird problems that are based on file access
    issues.

    As discussed in
    https://github.com/zed-industries/zed/pull/31219#issuecomment-2905371710,
    for now it's better to just prevent running Zed with root privileges.

    Release Notes:

    - Explicitly disallow running Zed with root privileges

    ---------

    Co-authored-by: Peter Tripp <[email protected]>

commit caf3d30bf63fe11b1c30c8c6dda043487b2e1867
Author: Danilo Leal <[email protected]>
Date:   Fri May 30 18:18:23 2025 -0300

    Harmonize quick action icons (#31784)

    Just ensuring they're more harmonized in size, stroke width, and overall
    dimensions. Adding here two new "play" icons, too, that will be used in
    the context of the debugger.

    <img
    src="https://github.com/user-attachments/assets/79bcf0b0-e995-4c8e-9c78-0aba32f42f2d"
    width="400" />

    Release Notes:

    - N/A

commit df0cf22347b66ce133dac02ce568848307dc5176
Author: Peter Tripp <[email protected]>
Date:   Fri May 30 17:09:55 2025 -0400

    Add powershell language docs (#31787)

    Release Notes:

    - N/A

commit a305eda8d159dd13160c689963818480c3c4d357
Author: Piotr Osiewicz <[email protected]>
Date:   Fri May 30 23:08:41 2025 +0200

    debugger: Relax implementation of `validate_config` to not run validation (#31785)

    When we moved to schema-based debug configs, we've added validate_config
    - a trait method
    that is supposed to both validate the configuration and determine
    whether it is a launch configuration
    or an attach configuration.

    The validation bit is a bit problematic though - we received reports on
    Discords about
    scenarios not starting up properly; it turned out that Javascript's
    implementation was overly strict.
    Thus, I got rid of any code that tries to validate the config - let's
    let the debug adapter itself
    decide whether it can digest the configuration or not. validate_config
    is now left unimplemented for most
    DebugAdapter implementations (except for PHP), because all adapters use
    `request`: 'launch'/'attach' for that.
    Let's leave the trait method in place though, as nothing guarantees this
    to be true for all adapters.

    cc @Anthony-Eid

    Release Notes:

    - debugger: Improved error messages when the debug scenario is not
    valid.
    - debugger: Fixed cases where valid configs were rejected.

commit ba7b1db054b6142a74691d408dc00500acd83762
Author: Joseph T. Lyons <[email protected]>
Date:   Fri May 30 17:03:31 2025 -0400

    Mark items as pinned via `!` in tests (#31786)

    Release Notes:

    - N/A

commit 019c8ded77b2d352c03da9f6cc28316d7301059e
Author: Joseph T. Lyons <[email protected]>
Date:   Fri May 30 16:48:33 2025 -0400

    Fix bug where pinned tabs were closed when closing others (#31783)

    Closes https://github.com/zed-industries/zed/issues/28166

    Release Notes:

    - Fixed a bug where pinned tabs were closed when running `Close Others`
    from the tab context menu

commit 1704dbea7ec900229a8a4cd961a4d4d48be34ac3
Author: Fernando Carletti <[email protected]>
Date:   Fri May 30 17:38:21 2025 -0300

    keymap: Add subword navigation and selection to Sublime Text keymap (#30268)

    For reference, this is what is set in Sublime Text's default-keymap
    files for both MacOS and Linux:

    ```json
    { "keys": ["ctrl+left"], "command": "move", "args": {"by": "words", "forward": false} },
    { "keys": ["ctrl+right"], "command": "move", "args": {"by": "word_ends", "forward": true} },
    { "keys": ["ctrl+shift+left"], "command": "move", "args": {"by": "words", "forward": false, "extend": true} },
    { "keys": ["ctrl+shift+right"], "command": "move", "args": {"by": "word_ends", "forward": true, "extend": true} },
    ```

    Release Notes:

    - Add subword navigation and selection to Sublime keymap

    Co-authored-by: Peter Tripp <[email protected]>

commit eefa6c48821055f6fff03a95302ea3daa98105be
Author: Hendrik Sollich <[email protected]>
Date:   Fri May 30 22:37:38 2025 +0200

    Icon theme selector: Don't select last list item when fuzzy searching (#29560)

    Adds manual icon-theme selection persistence

    Store manually selected icon-themes to maintain selection when query
    changes. This allows the theme selector to remember the user's choice
    rather than resetting selection when filtering results.

    mentioned in #28081 and #28278

    Release Notes:

    - Improved persistence when selecting themes and icon themes.

    ---------

    Co-authored-by: Peter Tripp <[email protected]>

commit 1f17df7fb067c0664e4559eabd8e22e2e5499d88
Author: Alex <[email protected]>
Date:   Fri May 30 22:18:32 2025 +0200

    debugger: Add support for go tests (#31772)

    In the https://github.com/zed-industries/zed/pull/31559 I did not
    introduce ability to debug test invocations.
    Adding it here. E.g:
    ![Kapture 2025-05-30 at 19 59
    13](https://github.com/user-attachments/assets/1111d4a5-8b0a-42e6-aa98-2d797f61ffe3)

    Release Notes:
    - Added support for debugging single tests written in go

commit 6d687a2c2c26507d0dd8ab49ecc5c5871266a419
Author: tidely <[email protected]>
Date:   Fri May 30 23:12:39 2025 +0300

    ollama: Change default context size to 4096 (#31682)

    Ollama increased their default context size from 2048 to 4096 tokens in
    version v0.6.7, which released over a month ago.

    https://github.com/ollama/ollama/releases/tag/v0.6.7

    Release Notes:

    - ollama: Update default model context to 4096 (matching upstream)

commit 32214abb64c7b7ff4587d2b2916df92fb9202149
Author: Umesh Yadav <[email protected]>
Date:   Sat May 31 01:41:13 2025 +0530

    Improve TypeScript shebang detection (#31437)

    Closes #13981

    Release Notes:

    - Improved TypeScript shebang detection

commit a78563b80b653518f952b67ec8c65728713b3526
Author: Peter Tripp <[email protected]>
Date:   Fri May 30 16:09:22 2025 -0400

    ci: Prevent "Tests Pass" job from running on forks (#31778)

    Example fork [actions run](https://github.com/alphaArgon/zed/actions/runs/15349715488/job/43194591563)
    which would be suppressed in the future.

    (Sorry @alphaArgon)

    Release Notes:

    - N/A

commit f881cacd8a2e014b179cb4eec110b55560947871
Author: Kirill Bulatov <[email protected]>
Date:   Fri May 30 22:28:56 2025 +0300

    Use both language and LSP icons for LSP tasks (#31773)

    Make more explicit which language LSP tasks are used.

    Before:

    ![image](https://github.com/user-attachments/assets/27f93c5f-942e-47a0-9b74-2c6d4d6248de)

    After:

    ![image
    (1)](https://github.com/user-attachments/assets/5a29fb0a-2e16-4c35-9dda-ae7925eaa034)

    ![image](https://github.com/user-attachments/assets/d1bf518e-63d1-4ebf-af3d-3c9d464c6532)

    Release Notes:

    - N/A

commit a539a38f13fe315e718d7245b567518d075a03a3
Author: Umesh Yadav <[email protected]>
Date:   Sat May 31 00:58:31 2025 +0530

    Revert "copilot: Fix vision request detection for follow-up messages" (#31776)

    Reverts zed-industries/zed#31760

    see this comment for context:
    https://github.com/zed-industries/zed/pull/31760#issuecomment-2923158611.

    Release Notes:

    - N/A

commit ca6fd101c1e2e3aff1a88d6f04f38c369d52e209
Author: Piotr Osiewicz <[email protected]>
Date:   Fri May 30 19:21:28 2025 +0200

    debugger: Change console text color, add tooltips (#31765)

    - Improved legibility of console text:

    | Theme | Dark | Light |
    |--------|--------|--------|
    | Before |
    ![image](https://github.com/user-attachments/assets/756da36d-9ef4-495a-9cf9-7249c25d106a)
    |
    ![image](https://github.com/user-attachments/assets/42558ec2-ee08-4973-8f7d-d7f4feb38cf8)
    |
    | After |
    ![image](https://github.com/user-attachments/assets/4469f000-b34f-4cbb-819d-4ae1f2f58a4a)
    |
    ![image](https://github.com/user-attachments/assets/3b862114-0fd3-427c-9c76-f030d3442090)
    |

    Release Notes:

    - debugger: Improved legibility of console text
    - debugger: Added tooltips to all debugger items.

commit f8097c7c9802d88a508bf4b5291d4d6294f5af04
Author: Aldo Funes <[email protected]>
Date:   Fri May 30 18:21:00 2025 +0100

    Improve compatibility with Wayland clipboard (#30251)

    Closes #26672, #20984

    Release Notes:

    - Fixed issue where some applications won't receive the clipboard
    contents from Zed

    Co-authored-by: Mikayla Maki <[email protected]>

commit c1427ea802a1043d4741c99898054f63e58b03c9
Author: Marshall Bowers <[email protected]>
Date:   Fri May 30 13:16:20 2025 -0400

    collab: Remove `POST /billing/subscriptions/migrate` endpoint (#31770)

    This PR removes the `POST /billing/subscriptions/migrate` endpoint, as
    it is no longer needed.

    Release Notes:

    - N/A

commit 1e83022f0369f65269b27c4650a042b1e722c8e2
Author: Kirill Bulatov <[email protected]>
Date:   Fri May 30 20:15:42 2025 +0300

    Add a JS/TS debug locator (#31769)

    With this, a semi-working debug session is possible from the JS/TS
    gutter tasks:

    https://github.com/user-attachments/assets/8db6ed29-b44a-4314-ae8b-a8213291bffc

    For now, available in debug builds only as a base to improve on later on
    the DAP front.

    Release Notes:

    - N/A

    ---------

    Co-authored-by: Piotr Osiewicz <[email protected]>

commit 0ee900e8fbdb9643552e0504cb6c3e9daa2df5bf
Author: Chung Wei Leong <[email protected]>
Date:   Sat May 31 01:13:50 2025 +0800

    Support macOS Sequoia titlebar double-click action (#30468)

    Closes #16527

    Release Notes:

    - Added MacOS titlebar double-click action

    ---

    Unfortunately, Apple doesn't seem to make the "Fill" API public or
    documented anywhere.

    Co-authored-by: Mikayla Maki <[email protected]>

commit f9f4be1fc45cfa56ab25aa15fb0e954d329d100a
Author: Marshall Bowers <[email protected]>
Date:   Fri May 30 12:37:12 2025 -0400

    collab: Use `StripeClient` in `POST /billing/subscriptions/sync` endpoint (#31764)

    This PR updates the `POST /billing/subscriptions/sync` endpoint to use
    the `StripeClient` trait instead of using `stripe::Client` directly.

    Release Notes:

    - N/A

commit a00b07371aa2c2da3b503fdafd889a1c3761c16e
Author: Stephen Murray <[email protected]>
Date:   Fri May 30 12:32:49 2025 -0400

    copilot: Fix vision request detection for follow-up messages (#31760)

    Previously, the vision request header was only set if the last message
    in a thread contained an image. This caused 400 errors from the Copilot
    API when sending follow-up messages in a thread that contained images in
    earlier messages.

    Modified the `is_vision_request` check to scan all messages in a thread
    for image content instead of just the last one, ensuring the proper
    header is set for the entire conversation.

    Added a unit test to verify all cases function correctly.

    Release Notes:

    - Fix GitHub Copilot chat provider error when sending follow-up messages
    in threads containing images

commit f725b5e2484ff40afc3f465e34e7fca6ce1143fd
Author: Marshall Bowers <[email protected]>
Date:   Fri May 30 12:08:58 2025 -0400

    collab: Use `StripeClient` in `sync_subscription` (#31761)

    This PR updates the `sync_subscription` function to use the
    `StripeClient` trait instead of using `stripe::Client` directly.

    Release Notes:

    - N/A

    ---------

    Co-authored-by: Ben Brandt <[email protected]>

commit 07436b428420581c6232e3b84847a3d143174373
Author: Vivek Pothina <[email protected]>
Date:   Fri May 30 08:32:54 2025 -0700

    breadcrumbs: Stylize filename in breadcrumbs when tab-bar is off and file is dirty (#30507)

    Closes [#18870](https://github.com/zed-industries/zed/issues/18870)

    - I like to use Zed with tab_bar off
    - when the file is modified there is no indicator when tab_bar is off
    - this PR aims to fix that

    Thanks to @Qkessler for initial PR - #22418

    This is style decided in this discussion - #22418
    @iamnbutler @mikayla-maki [subtle style
    decided](https://github.com/zed-industries/zed/pull/22418#issuecomment-2605253667)

    Release Notes:
    - When tab_bar is off, filename in the breadcrumbs will be the indicator
    when file is unsaved.

    #### Changes
    - when tab_bar is off and file is dirty (unsaved)
    <img width="834" alt="image"
    src="https://github.com/user-attachments/assets/f205731b-c8e3-4d7a-9214-cbe706e372bf"
    />

    - when tab_bar is off and file is not dirty (saved)
    <img width="846" alt="image"
    src="https://github.com/user-attachments/assets/88ea96eb-16a2-48e8-900d-64a921f0b5c3"
    />

    - when tab_bar is on
    <img width="741" alt="image"
    src="https://github.com/user-attachments/assets/cc543544-9949-46ed-8e09-cdcbe2f47ab8"
    />

    <img width="740" alt="image"
    src="https://github.com/user-attachments/assets/8d347258-26f7-4bd7-82d4-8f23dbe63d61"
    />

    Release Notes:

    - Changed the highlighting of the current file to represent the current
    saved state, when the tab bar is turned off.

commit 8bec4cbecb38775cca43c465a59d70f7f0bcda17
Author: tidely <[email protected]>
Date:   Fri May 30 18:28:22 2025 +0300

    assistant_tools: Reduce allocations (#30776)

    Another batch of allocation savings. Noteworthy ones are
    `find_path_tool.rs` where one clone of *all* found matches was saved and
    `web_tool_search.rs` where the tooltip no longer clones the entire url
    on every hover.

    I'd also like to propose using `std::borrow::Cow` a lot more around the
    codebase instead of Strings. There are hundreds if not 1000+ clones that
    can be saved pretty regularly simply by switching to Cow. ´Cow´'s are
    likely not used because they aren't compatible with futures and because
    it could cause lifetime bloat. However if we use `Cow<'static, str>`
    (static lifetime) for when we need to pass them into futures, we could
    save a TON of allocations for `&'static str`. Additionally I often see
    structs being created using `String`'s just to be deserialized
    afterwards, which only requires a reference.

    Release Notes:

    - N/A

commit 047e7eacec0987a06d395d6698e3f0d9fef4e6b6
Author: Jason Lee <[email protected]>
Date:   Fri May 30 23:26:27 2025 +0800

    gpui: Improve `window.prompt` to support ESC with non-English cancel text on macOS (#29538)

    Release Notes:

    - N/A

    ----

    The before version GPUI used `Cancel` for cancel text, if we use
    non-English text (e.g.: "取消" in Chinese), then the press `Esc` to cancel
    will not work.

    So this PR to change it by use `PromptButton` to instead the `&str`,
    then we can use `PromptButton::cancel("取消")` for the `Cancel` button.

    Run `cargo run -p gpui --example window` to test.

    ---

    Platform Test:

    - [x] macOS
    - [x] Windows
    - [x] Linux (x11 and Wayland)

    ---------

    Co-authored-by: Mikayla Maki <[email protected]>
    Co-authored-by: Mikayla Maki <[email protected]>

commit 1d5d3de85c5f74a4c69e753872367587e4e113a4
Author: laizy <[email protected]>
Date:   Fri May 30 23:23:27 2025 +0800

    gpui: Optimize the ordering update in the BoundsTree (#31025)

    Release Notes:

    - N/A

commit c4dbaa91f0753f6c0f28bb10fcb36aae285a4b19
Author: laizy <[email protected]>
Date:   Fri May 30 23:18:25 2025 +0800

    gpui: Fix race condition when upgrading a weak reference (#30952)

    Release Notes:

    - N/A

commit 97c01c6720d220bae831bf6a582e38f393f31857
Author: Ben Brandt <[email protected]>
Date:   Fri May 30 15:49:09 2025 +0200

    Fix model deduplication to use provider ID and model ID (#31750)

    Previously only used model ID for deduplication, which incorrectly
    filtered models with the same name from different providers.

    Release Notes:

    - Fix to make sure all provider models are shown in the model picker

commit 310ea43048a046c2275261befbf1acd341689362
Author: Marshall Bowers <[email protected]>
Date:   Fri May 30 09:46:41 2025 -0400

    danger: Check for changes in prompt files (#31744)

    This PR adds a Danger check to remind engineers that any changes to our
    various prompts need to be verified against the LLM Worker.

    When changes to the prompt files are detected, we will fail the PR with
    a message:

    <img width="929" alt="Screenshot 2025-05-30 at 8 40 58 AM"
    src="https://github.com/user-attachments/assets/79afab4e-e799-45f1-a90e-0fd7c9a73706"
    />

    Once the corresponding changes have been made (or no changes to the LLM
    Worker have been determined to be necessary), including the indicated
    attestation message will convert the errors into informational messages:

    <img width="926" alt="Screenshot 2025-05-30 at 8 41 52 AM"
    src="https://github.com/user-attachments/assets/ff51c17a-7a76-46a7-b468-a7d864d480c3"
    />

    Release Notes:

    - N/A

commit 6bb4b5fa64964556d4f4843db5fe652e22948be7
Author: Piotr Osiewicz <[email protected]>
Date:   Fri May 30 14:32:59 2025 +0200

    Revert "debugger beta: Fix bug where debug Rust main running action f… (#31743)

    …ailed (#31291)"

    This reverts commit aab76208b53334b85429486c7abd6f0bfcf58dc9.

    Closes #31737

    I cannot repro the original issue that this commit was trying to solve
    anymore.

    Release Notes:

    - N/A

commit e0fa3032eceaf2caa1776369b57d6792cf7ddba7
Author: Alejandro Fernández Gómez <[email protected]>
Date:   Fri May 30 13:18:15 2025 +0200

    docs: Properly nest the docs for the inline git blame settings (#31739)

    From a report on
    [discord](https://discord.com/channels/869392257814519848/873292398204170290/1377943171320774656):
    reorders the docs for the inline git blame feature so they are properly
    nested.

    <img width="1719" alt="Screenshot_2025-05-30_at_11 32 17"
    src="https://github.com/user-attachments/assets/3c20bda3-de81-4ac3-b8e2-e1d4eac0ce88"
    />

    Release Notes:

    - N/A

commit 9cf6be2057ca010dbcd48a0e7b59ab1898a2d6b3
Author: Danilo Leal <[email protected]>
Date:   Fri May 30 08:10:12 2025 -0300

    agent: Add Burn Mode setting migrator (#31718)

    Follow-up https://github.com/zed-industries/zed/pull/31470.

    Release Notes:

    - N/A

commit 5462e199fbd316179cef4060239d0984b64ed94c
Author: Piotr Osiewicz <[email protected]>
Date:   Fri May 30 12:43:29 2025 +0200

    debugger: Fix wrong path to the downloaded delve-shim-dap (#31738)

    Closes #ISSUE

    Release Notes:

    - N/A

commit 3a60420b41bfc3a1e2bb647051f966f5ee7ec667
Author: Piotr Osiewicz <[email protected]>
Date:   Fri May 30 10:53:19 2025 +0200

    debugger: Fix delve-dap-shim path on Windows (#31735)

    Closes #ISSUE

    Release Notes:

    - debugger: Fixed wrong path being picked up for delve on Windows
    - debugger: Fixed delve not respecting the user-provided binary path
    from settings.

commit 89c184a26fa40c237e64a63fa7a4830002bc5c96
Author: Simon Pham <[email protected]>
Date:   Fri May 30 15:29:52 2025 +0700

    markdown_preview: Fix release notes title being overridden (#31703)

    Closes: #31701

    Screenshot:

    <img width="383" alt="image"
    src="https://github.com/user-attachments/assets/7fd8ce70-2208-4aca-bc70-860d6c649765"
    />

    Release Notes:

    - Fixed in-app release notes having an incorrect title

    ---------

    Co-authored-by: Gilles Peiffer <[email protected]>

commit d7f0241d7b3745f32ca3d5e0c10a2ff70bf031a2
Author: Michael Sloan <[email protected]>
Date:   Fri May 30 01:53:02 2025 -0600

    editor: Defer the effects of `change_selections` to end of `transact` (#31731)

    In quite a few places the selection is changed multiple times in a
    transaction. For example, `backspace` might do it 3 times:

    * `select_autoclose_pair`
    * selection of the ranges to delete
    * `insert` of empty string also updates selection

    Before this change, each of these selection changes appended to
    selection history and did a bunch of work that's only relevant to
    selections the user actually sees. So for each backspace,
    `editor::UndoSelection` would need to be invoked 3-4 times before the
    cursor actually moves. It still needs to be run twice after this change,
    but that is a separate issue.

    Signature help even had a `backspace_pressed: bool` as an incomplete
    workaround, to avoid it flickering due to the selection switching
    between being a range and being cursor-like.

    The original motivation for this change is work I'm doing on not
    re-querying completions when the language server provides a response
    that has `is_incomplete: false`. Whether the menu is still visible is
    determined by the cursor position, and this was complicated by it seeing
    `backspace` temporarily moving the head of the selection 1 character to
    the left.

    This change also removes some redundant uses of
    `push_to_selection_history`.

    Not super stoked with the name `DeferredSelectionEffectsState`. Naming
    is hard.

    Release Notes:

    - N/A

commit 1445af559b22ceec87bbad419ecbb4e07e6d2c07
Author: Cole Miller <[email protected]>
Date:   Thu May 29 21:33:52 2025 -0400

    Unify the tasks modal and the new session modal (#31646)

    Release Notes:

    - Debugger Beta: added a button to the quick action bar to start a debug
    session or spawn a task, depending on which of these actions was taken
    most recently.
    - Debugger Beta: incorporated the tasks modal into the new session modal
    as an additional tab.

    ---------

    Co-authored-by: Julia Ryan <[email protected]>
    Co-authored-by: Julia Ryan <[email protected]>
    Co-authored-by: Anthony Eid <[email protected]>
    Co-authored-by: Mikayla <[email protected]>

commit 804de3316ed3240b55b9927e38ddd6de92d01c17
Author: Anthony Eid <[email protected]>
Date:   Fri May 30 04:22:16 2025 +0300

    debugger: Update docs with more examples (#31597)

    This PR also shows more completion items when defining a debug config in
    a `debug.json` file. Mainly when using a pre build task argument.

    ### Follow ups
    - Add docs for Go, JS, PHP
    - Add attach docs

    Release Notes:

    - debugger beta: Show build task completions when editing a debug.json
    configuration with a pre build task
    - debugger beta: Add Python and Native Code debug config
    [examples](https://zed.dev/docs/debugger)

commit a387bf5f54edce7558dec5c3804b03b51cbbfe9b
Author: Smit Barmase <[email protected]>
Date:   Fri May 30 06:00:37 2025 +0530

    zed: Fix migration banner not hiding after migration has been carried out (#31723)

    - https://github.com/zed-industries/zed/pull/30444

    This PR broke migration notification to only emit event when content is
    migrated. This resulted in the migration banner not going away after
    clicking "Backup and Migrate". It should also emit event when it's not
    migrated which removes the banner.

    Future: I think we should have better tests in place for banner
    visibility.

    Release Notes:

    - Fixed an issue where migration banner wouldn't go away after clicking
    "Backup and Migrate".

commit c7047d5f0a2d4567273e677e6d04a3048e0f68fb
Author: Marshall Bowers <[email protected]>
Date:   Thu May 29 19:49:14 2025 -0400

    collab: Fully move `StripeBilling` over to using `StripeClient` (#31722)

    This PR moves over the last method on `StripeBilling` to use the
    `StripeClient` trait, allowing us to fully mock out Stripe behaviors for
    `StripeBilling` in tests.

    Release Notes:

    - N/A

commit 406d975f39823dfe5af7161d5a7d68dfa5a800c1
Author: Kirill Bulatov <[email protected]>
Date:   Fri May 30 02:02:59 2025 +0300

    Cleanup corresponding task history on task file update (#31720)

    Closes https://github.com/zed-industries/zed/issues/31715

    Release Notes:

    - Fixed old task history not erased after task file update

commit cbed580db0e81021c208615a7f01f3f7613c89a5
Author: Finn Evers <[email protected]>
Date:   Fri May 30 00:35:22 2025 +0200

    workspace: Ensure pane handle hitbox blocks mouse events (#31719)

    Follow-up to #31712

    Pane handle hitboxes were opaque prior to the linked PR. This was the
    case because pane handles have an intentionally larger hitbox than the
    pane dividers size to allow for easier dragging. The cursor style is
    also updated for that hitbox to indicate that resizing is possible:

    https://github.com/zed-industries/zed/blob/908678403871e0ef18bbe20f78a84654dfdd431d/crates/workspace/src/pane_group.rs#L1297-L1301

    Not blocking the mouse events here causes mouse events to bleed through
    this hitbox whilst actually any clicks will only cause a pane resize to
    happen. Hence, this hitbox should continue to block mouse events to
    avoid any confusion when resizing panes.

    I considered using `HitboxBehavior::BlockMouseExceptScroll` here,
    however, due to the reasons mentioned above, I decided against it. The
    cursor will not indicate that scrolling should be possible. Since all
    other mouse events on underlying elements (like hovers) are blocked, it
    felt more reasonable to just go with `HitboxBehavior::BlockMouse`.

    Release Notes:

    - N/A

commit 8aef64bbfadc0060865c4d4b764f4769f6b4720e
Author: Michael Sloan <[email protected]>
Date:   Thu May 29 16:07:34 2025 -0600

    Remove `block_mouse_down` in favor of `stop_mouse_events_except_scroll` (#30401)

    This method was added in #20649 to be an alternative of `occlude` which
    allows scroll events. It seems a bit arbitrary to only stop left mouse
    downs, so this seems like it's probably an improvement.

    Release Notes:

    - N/A

commit 908678403871e0ef18bbe20f78a84654dfdd431d
Author: Michael Sloan <[email protected]>
Date:   Thu May 29 15:41:15 2025 -0600

    gpui: Support hitbox blocking mouse interaction except scrolling (#31712)

    tl;dr: This adds `.block_mouse_except_scroll()` which should typically
    be used instead of `.occlude()` for cases when the mouse shouldn't
    interact with elements drawn below an element. The rationale for
    treating scroll events differently:

    * Mouse move / click / styles / tooltips are for elements the user is
    interacting with directly.
    * Mouse scroll events are about finding the current outer scroll
    container.

    Most use of `occlude` should probably be switched to this, but I figured
    I'd derisk this change by minimizing behavior changes to just the 3 uses
    of `block_mouse_except_scroll`.

    GPUI changes:

    * Added `InteractiveElement::block_mouse_except_scroll()`, and removes
    `stop_mouse_events_except_scroll()`

    * Added `Hitbox::should_handle_scroll()` to be used when handling scroll
    wheel events.

    * `Window::insert_hitbox` now takes `HitboxBehavior` instead of
    `occlude: bool`.

        - `false` for that bool is now `HitboxBehavior::Normal`.

        - `true` for that bool is now `HitboxBehavior::BlockMouse`.

        - The new mode is `HitboxBehavior::BlockMouseExceptScroll`.

    * Removes `Default` impl for `HitboxId` since applications should not
    manually create `HitboxId(0)`.

    Release Notes:

    - N/A

commit 2abc5893c1495058a16c56c7c9e7544a0ead05fe
Author: Kirill Bulatov <[email protected]>
Date:   Thu May 29 23:51:20 2025 +0300

    Improve TypeScript task detection (#31711)

    Parses project's package.json to better detect Jasmine, Jest, Vitest and
    Mocha and `test`, `build` scripts presence.
    Also tries to detect `pnpm` and `npx` as test runners, falls back to
    `npm`.

    https://github.com/user-attachments/assets/112d3d8b-8daa-4ba5-8cb5-2f483036bd98

    Release Notes:

    - Improved TypeScript task detection

commit a23ee61a4b55ace5983b5c03b2edfe77b20013d8
Author: Marshall Bowers <[email protected]>
Date:   Thu May 29 16:43:12 2025 -0400

    Pass up intent with completion requests (#31710)

    This PR adds a new `intent` field to completion requests to assist in
    categorizing them correctly.

    Release Notes:

    - N/A

    ---------

    Co-authored-by: Ben Brandt <[email protected]>

commit 38e45e828b3e17b4192dcdeda3e921845c68d9ee
Author: Simon Pham <[email protected]>
Date:   Fri May 30 02:39:54 2025 +0700

    Add View Release Notes to Help menu (#31704)

    <img width="891" alt="image"
    src="https://github.com/user-attachments/assets/59e98fdb-c1b5-4948-8d69-661561d838f1"
    />

    Release Notes:

    - Added `View Release Notes` to `Help` menu

commit 181bf78b7d1815fc9e2a78ad01ea08cec1042ea1
Author: Danilo Leal <[email protected]>
Date:   Thu May 29 16:31:57 2025 -0300

    agent: Change the navigation menu keybinding (#31709)

    As much as I enjoyed the previous keybinding, it was causing a conflict
    with the editor where it wouldn't open on text threads. To not get into
    a rabbit hole and complicate the fix too much, I figured simply changing
    it to something non-conflictual would be a good move.

    Release Notes:

    - agent: Fixed a bug where the panel navigation menu wouldn't open with
    the keybinding on text threads.

commit c42d060509eb9c8c6e74d8d1788dc97e851add96
Author: Piotr Osiewicz <[email protected]>
Date:   Thu May 29 21:29:18 2025 +0200

    Update debug.json in Zed repo to run the build on session startup (#31707)

    Closes #ISSUE

    Release Notes:

    - N/A

commit 6ea9abdc1b36f6a5d9752393202f914c740958d3
Author: Peter Tripp <[email protected]>
Date:   Thu May 29 15:20:58 2025 -0400

    Cursor keymap (#31702)

    To use this, spawn `weclome: toggle base keymap selector` from the
    command palette.

    <img width="589" alt="Screenshot 2025-05-29 at 14 07 35"
    src="https://github.com/user-attachments/assets/0d4c4eff-6a3b-40f4-9032-5d8ca7664d20"
    />

    MacOS is well tested to match Cursor. The [curors keymap
    documentation](https://docs.cursor.com/kbd) is does not explicitly state
    windows/linux keymap entries only "All Cmd keys can be replaced with
    Ctrl on Windows." so that is what we've done. We welcome feedback /
    refinements.

    Note, because this provides a mapping for `cmd-k` (macos) and `ctrl-k`
    (linux/windows) using this keymap will disable all of the default
    chorded keymap entries which have `cmd-k` / `ctrl-k` as a prefix. For
    example `cmd-k cmd-s` for open keymap will no longer function.

    Release Notes:

    - Added Cursor compatibility keymap

    ---------

    Co-authored-by: Joseph Lyons <[email protected]>

commit 070eac28e300be9e3383fafbc9cfab77d8dcb8a7
Author: Piotr Osiewicz <[email protected]>
Date:   Thu May 29 21:19:56 2025 +0200

    go: Use delve-dap-shim for spawning delve (#31700)

    This allows us to support terminal with go sessions

    Closes #ISSUE

    Release Notes:

    - debugger: Add support for terminal when debugging Go programs

commit 05692e298a1b9d5a28b5d47eb23ca475ecda15b9
Author: Danilo Leal <[email protected]>
Date:   Thu May 29 16:00:37 2025 -0300

    agent: Fix panel "go back" button (#31706)

    Closes https://github.com/zed-industries/zed/issues/31652.

    Release Notes:

    - agent: Fixed a bug where the "go back" button wouldn't go back to the
    Text Thread after visiting another view from it.

commit ccb049bd97b964eda50d5c29f2431b9387dd8e87
Author: Richard Feldman <[email protected]>
Date:   Thu May 29 14:33:41 2025 -0400

    Format streamed edits on save (#31623)

    Re-enables format on save for agent changes (when the user has that
    enabled in settings), except differently from before:
    - Now we do the format-on-save in the separate buffer the edit tool
    uses, *before* the diff
    - This means it never triggers separate staleness
    - It has the downside that edits are now blocked on the formatter
    completing, but that's true of saving in general.

    Release Notes:

    - N/A

    ---------

    Co-authored-by: Agus Zubiaga <[email protected]>

commit fe57eedb44e51d4998f2aa756eaeffe4dfd0f0a9
Author: Danilo Leal <[email protected]>
Date:   Thu May 29 15:31:35 2025 -0300

    agent: Rename `PromptEditor` to `TextThread` in the panel's `ActiveView` (#31705)

    Was touching this part of the Agent Panel and thought it could be a
    quick name consistency win here, so it is aligned with the terminology
    we're currently actively using in the product/docs.

    Release Notes:

    - N/A

commit c57e6bc784d116cbad0e040963db0c8243ea34c5
Author: 5brian <[email protected]>
Date:   Thu May 29 12:09:07 2025 -0400

    tab_switcher: Add placeholder text (#31697)

    | Before | After |
    |---|---|
    |<img width="478" alt="image"
    src="https://github.com/user-attachments/assets/5baba783-ee31-42cd-9760-7ee19edb1123"
    />|<img width="478" alt="image"
    src="https://github.com/user-attachments/assets/1b149500-4a97-4085-80e5-fd628c92471a"
    />|

    Release Notes:

    - N/A

commit 83135e98e653fd1483040b75c01ac13adb39fa6f
Author: Piotr Osiewicz <[email protected]>
Date:   Thu May 29 15:44:55 2025 +0200

    Introduce $ZED_CUSTOM_PYTHON_ACTIVE_ZED_TOOLCHAIN_RAW to work around (#31685)

    Follow up to #31674

    Release Notes:

    - N/A

    Co-authored-by: Kirill Bulatov <[email protected]>

commit 703ee29658a2f0326b6c47ee5efb83d6e0727888
Author: Umesh Yadav <[email protected]>
Date:   Thu May 29 18:42:42 2025 +0530

    Rename Max Mode to Burn Mode throughout code and docs (#31668)

    Follow up to https://github.com/zed-industries/zed/pull/31470.

    I started looking at config and changed preferred_completion_mode to
    burn to only find its max so made changes to align it better with
    rebrand. As this is in preview build now.

    This doesn't touch zed_llm_client. Only the Zed changes the code and doc
    to match the new UI of burn mode. There are still more things to be
    renamed, though.

    Release Notes:

    - N/A

    ---------

    Signed-off-by: Umesh Yadav <[email protected]>
    Co-authored-by: Danilo Leal <[email protected]>

commit f792827a01c5aa47c868b177e957a58979f75285
Author: Kirill Bulatov <[email protected]>
Date:   Thu May 29 15:55:47 2025 +0300

    Allow to reuse PickerPopoverMenu outside of the model selector (#31684)

    LSP button preparation step: move out the component that will be used to
    build the button's context menu.

    Release Notes:

    - N/A

commit 45f9edcbb98a9ffffd5dd8962c256a42b5bab7a5
Author: Danilo Leal <[email protected]>
Date:   Thu May 29 08:43:54 2025 -0300

    docs: Add small refinements to CSS adjacent pages (#31683)

    Follow up to https://github.com/zed-industries/zed/pull/31681. Was
    visiting some of these pages and noticed these somewhat small formatting
    and copywriting improvement opportunities. The docs for Svelte in
    particular felt somewhat unorganized.

    Release Notes:

    - N/A

commit e3354543c0196e33f67fff75c204ac5533834ea1
Author: Danilo Leal <[email protected]>
Date:   Thu May 29 08:15:59 2025 -0300

    docs: Improve the Tailwind CSS page (#31681)

    Namely, ensuring we mention the support for their Prettier plugins.

    Release Notes:

    - N/A

commit cb187b0b4db567688381387d9a7444e4f12da817
Author: Oleksiy Syvokon <[email protected]>
Date:   Thu May 29 13:35:29 2025 +0300

    evals: Configurable number of max dialog turns (#31680)

    Release Notes:

    - N/A

commit d989b2260b21f7d52b972b069c8fbc6e30f16113
Author: Kirill Bulatov <[email protected]>
Date:   Thu May 29 13:04:27 2025 +0300

    Do not react on settings change for disabled minimaps (#31677)

    Turning minimap on during debug sessions would cause the console editor
    to gain the minimap, despite it being explicitly disabled in the code.

    Release Notes:

    - N/A

commit ae076fa415fd8c859b4414c3a5839a5addd90351
Author: Dhruvin Gandhi <[email protected]>
Date:   Thu May 29 15:20:36 2025 +0530

    task: Add ZED_RELATIVE_DIR task variable (#31657)

    This is my first contribution to zed, let me know if I missed anything.

    There is no corresponding issue/discussion.

    `$ZED_RELATIVE_DIR` can be used in cases where a task's command's
    filesystem namespace (e.g. inside a container) is different than the
    host, where absolute paths cannot work.

    I modified `relative_path` to `relative_file` after the addition of
    `relative_dir`.

    For top-level files, where `relative_file.parent() == Some("")`, I use
    `"."` for `$ZED_RELATIVE_DIR`, which is a valid relative path in both
    *nix and windows.

    Thank you for building zed, and open-sourcing it. I hope to contribute
    more as I use it as my primary editor.

    Release Notes:

    - Added ZED_RELATIVE_DIR (path to current file's directory relative to
    worktree root) task variable.

commit b4af61edfe43ca17fdc973b3bcdccb4263d12105
Author: Kirill Bulatov <[email protected]>
Date:   Thu May 29 12:19:23 2025 +0300

    Revert "task: Wrap programs in ""s (#31537)" (#31674)

    That commit broke a lot, as our one-off tasks (alt-enter in the tasks
    modal), npm, jest tasks are all not real commands, but a composition of
    commands and arguments.

    This reverts commit 5db14d315b0822c6d261c0853a3ea039877fd8a8.

    Closes https://github.com/zed-industries/zed/issues/31554

    Release Notes:

    - N/A

    Co-authored-by: Piotr Osiewicz <[email protected]>

commit ea8a3be91b66ef5e4deed1edad91eb5f3fbe114b
Author: Smit Barmase <[email protected]>
Date:   Thu May 29 09:24:39 2025 +0530

    recent_projects: Move SSH server entry to initialize once instead of every render (#31650)

    Currently, `RemoteEntry::SshConfig` for `ssh_config_servers` initializes
    on every render. This leads to side effects like a new focus handle
    being created on every render, which leads to breaking navigating
    up/down for `ssh_config_servers` items.

    This PR fixes it by moving the logic of remote entry
    for`ssh_config_servers` into `default_mode`, and only rebuilding it when
    `ssh_config_servers` actually changes.

    Before:

    https://github.com/user-attachments/assets/8c7187d3-16b5-4f96-aa73-fe4f8227b7d0

    After:

    https://github.com/user-attachments/assets/21588628-8b1c-43fb-bcb8-0b93c70a1e2b

    Release Notes:

    - Fixed issue navigating SSH config servers in Remote Projects with
    keyboard.

commit 5173a1a968d1aa716269736a39283c461d406608
Author: Smit Barmase <[email protected]>
Date:   Thu May 29 08:55:29 2025 +0530

    recent_projects: Fix remote projects not regaining focus after SSH server connect (#31651)

    Closes #28071

    Release Notes:

    - Fixed issue preventing remote projects modal from regaining focus
    after a successful SSH server connection.

commit 87f097a0abdd732be70048c0c47b77cd6abbbc5f
Author: Smit Barmase <[email protected]>
Date:   Thu May 29 08:55:12 2025 +0530

    terminal_view: Fix terminal stealing focus on editor selection (#31639)

    Closes #28234

    Release Notes:

    - Fixed the issue where the terminal focused when the mouse hovered over
    it after selecting text in the editor.

commit f9407db7d6eb7d5c2a3d79350662030bd83e748d
Author: Cole Miller <[email protected]>
Date:   Wed May 28 21:58:40 2025 -0400

    debugger: Add spinners while session is starting up (#31548)

    Release Notes:

    - Debugger Beta: Added a spinner to the debug panel when a session is
    starting up.

    ---------

    Co-authored-by: Remco Smits <[email protected]>
    Co-authored-by: Julia <[email protected]>

commit 384b11392a1ef1c72d40bd1d679f0379875d12e0
Author: Cole Miller <[email protected]>
Date:   Wed May 28 21:44:15 2025 -0400

    debugger: Disambiguate child session labels (#31526)

    Add `(child)` instead of using the same label.

    Release Notes:

    - Debugger Beta: Made child sessions appear distinct from their parents
    in the session selector.

commit f20596c33ba9baab349321a2be4ada3f1241fd14
Author: Cole Miller <[email protected]>
Date:   Wed May 28 21:44:00 2025 -0400

    debugger: Don't open non-absolute paths from stack frame list (#31534)

    Follow-up to #31524 with a more general fix

    Release Notes:

    - N/A

    ---------

    Co-authored-by: Piotr <[email protected]>

commit eb863f8fd621644c07728669acd8a3bdf7ca1170
Author: Marshall Bowers <[email protected]>
Date:   Wed May 28 20:57:04 2025 -0400

    collab: Use `StripeClient` when creating Stripe Checkout sessions (#31644)

    This PR updates the `StripeBilling::checkout_with_zed_pro` and
    `StripeBilling::checkout_with_zed_pro_trial` methods to use the
    `StripeClient` trait instead of using `stripe::Client` directly.

    Release Notes:

    - N/A

commit 97579662e6a62ec7532f077055a52413ab2e07de
Author: Max Brunsfeld <[email protected]>
Date:   Wed May 28 16:05:06 2025 -0700

    Fix editor rendering slowness with large folds (#31569)

    Closes https://github.com/zed-industries/zed/issues/31565

    * Looking up settings on every row was very slow in the case of large
    folds, especially if there was an `.editorconfig` file with numerous
    glob patterns
    * Checking whether each indent guide was within a fold was very slow,
    when a fold spanned many indent guides.

    Release Notes:

    - Fixed slowness that could happen when editing in the presence of large
    folds.

commit 53849cf983951cb3cc2407449b2db84b234afcb4
Author: Marshall Bowers <[email protected]>
Date:   Wed May 28 19:00:54 2025 -0400

    collab: Remove Zed Free as an option when initiating a checkout session (#31638)

    This PR removes Zed Free as an option when initiating a checkout
    session, as we manage this plan automatically now.

    Release Notes:

    - N/A

commit 1e25249055c33d39047e38abff6739ed4a060ba8
Author: Danilo Leal <[email protected]>
Date:   Wed May 28 19:27:47 2025 -0300

    docs: Adjust the channels page a bit (#31636)

    All the docs related to collaboration could use some deep revamp, but
    this PR is just formatting tweaks so it doesn't look broken. The images
    weren't showing at all!

    Release Notes:

    - N/A

commit 469824c350ab5d574df42349dfa94c36e2b5513a
Author: Marshall Bowers <[email protected]>
Date:   Wed May 28 18:19:43 2025 -0400

    collab: Use `StripeClient` for creating model usage meter events (#31633)

    This PR updates the `StripeBilling::bill_model_request_usage` method to
    use the `StripeClient` trait.

    Release Notes:

    - N/A

commit a1c645e57e367bf998eee5bb4bdba05818b8397d
Author: Danilo Leal <[email protected]>
Date:   Wed May 28 19:16:40 2025 -0300

    docs: Improve footer button design (#31634)

    Just touching up these a little bit. I think including the page
    destination as a label here is a good move!

    Release Notes:

    - N/A

commit 0791596cdacfafc2541f94411c3aa2acf67e01a2
Author: Danilo Leal <[email protected]>
Date:   Wed May 28 19:16:32 2025 -0300

    docs: Hide "on this page" element when there are no headings (#31635)

    We were still showing the "On this page" element even when the page
    didn't contain any h2s or h3s.

    Release Notes:

    - N/A

commit 9cc1851be7aad564d5382ad6880c2679686e366b
Author: Finn Evers <[email protected]>
Date:   Thu May 29 00:02:40 2025 +0200

    python: Improve docstring highlighting (#31628)

    This PR broadens the highlighting for docstrings in Python.

    Previously, only the first docstring for e.g. type aliases was
    highlighted in Python files. This happened as only the first occurrence
    in the module was considered a docstring. With this change, now all
    existing docstrings are actually highlighted as such.

    | `main` | This PR |
    | --- | --- |
    |
    ![main](https://github.com/user-attachments/assets/facc96a9-4e98-4063-8b93-d6e9884221ff)
    |
    ![PR](https://github.com/user-attachments/assets/9da557a1-b327-466a-be87-65d6a811e24c)
    |

    Release Notes:

    - Added more docstring highlights for Python.

commit 50bd8770bd64ae76dc84c6cc6935ee1c04c0daf9
Author: Finn Evers <[email protected]>
Date:   Wed May 28 23:29:51 2025 +0200

    file_finder: Reduce vertical padding in footer (#31632)

    Follow-up to #31542

    This PR reduces the vertical padding in the file finders footer. We can
    remove this padding as we already apply it just above

    https://github.com/zed-industries/zed/blob/a5a116439e711772190b7fb8e5507eb5dbd95237/crates/file_finder/src/file_finder.rs#L1500

    This also ensures that the items on the right side have the same padding
    to the border as the icon on the left side. Currently, due to the
    padding being applied twice, the items on the right side have `pr_4` as
    well as `py_4` in practice, which seems a little excessive.

    | `main` | This PR |
    | --- | --- |
    |
    ![file_finder_main](https://github.com/user-attachments/assets/352d2ac9-04a9-487d-96ca-b009b797809b)
    |
    ![file_finder_pr](https://github.com/user-attachments/assets/c0b44beb-ff2c-4e93-a5b1-2393652a2a58)
    |

    Release Notes:

    - N/A

commit 00bdebc89dbc3db717d7ad4e2a740775b2fe96ed
Author: Marshall Bowers <[email protected]>
Date:   Wed May 28 17:17:11 2025 -0400

    collab: Use `StripeClient` in `StripeBilling::subscribe_to_price` (#31631)

    This PR updates the `StripeBilling::subscribe_to_price` method to use
    the `StripeClient` trait.

    Release Notes:

    - N/A

commit d5134062ac0afb8729c20ee8d353b7d6bb384536
Author: Danilo Leal <[email protected]>
Date:   Wed May 28 18:08:58 2025 -0300

    agent: Add keybinding to toggle Burn Mode (#31630)

    One caveat with this PR is that the keybinding still doesn't work for text threads. Will do that in a follow-up.

    Release Notes:

    - agent: Added a keybinding to toggle Burn Mode on and off.

commit 0e9f6986cf9b5c51907cc7e57260ed11e84c3ae7
Author: Julia Ryan <[email protected]>
Date:   Wed May 28 22:32:12 2025 +0200

    nix: Add job names and garnix substitutor (#31625)

    This should result in some additional cache hits as I personally use
    garnix.

    Also added `-v` cachix arg to try to figure out why CI jobs aren't
    pushing any paths. Right now they just show ["Pushing is
    disabled."](https://github.com/zed-industries/zed/actions/runs/15293723678/job/43018512167#step:13:3)
    but I'm not sure if that's due to the `pushFilter` or misconfigured
    secrets.

    Release Notes:

    - N/A

commit 1035c6aab5700535c8b32b17cfaa67379bdfacfc
Author: Finn Evers <[email protected]>
Date:   Wed May 28 21:59:51 2025 +0200

    editor: Fix horizontal scrollbar alignment if indent guides are disabled (#31621)

    Follow-up to #24887
    Follow-up to #31510

    This PR ensures that [this misalignment of the horizontal
    scrollbar](https://github.com/zed-industries/zed/pull/31510#issuecomment-2912842457)
    does not occur. See the entire discussion in the first linked PR as to
    why this gap is there in the first place.

    I am also aware of the general stance towards comments. Yet, I felt for
    this case it is better to just straight up explain how these two things
    are connected, as I do believe this is not intuitively clear after all.

    Might also be a good time to bring
    https://github.com/zed-industries/zed/issues/25519 up again. The
    horizontal scrollbar seems huge for the edit file tool card.
    Furthermore, since we do not reserve space for the horizontal scrollbar
    (yet), this will lead to the last line being not clickable.

    Release Notes:

    - N/A

commit 75e69a5ae9bf4eacc87bf62cdc12adefdf36834d
Author: Marshall Bowers <[email protected]>
Date:   Wed May 28 15:51:06 2025 -0400

    collab: Use `StripeClient` to retrieve prices and meters from Stripe (#31624)

    This PR updates `StripeBilling` to use the `StripeClient` trait to
    retrieve prices and meters from Stripe instead of using the
    `stripe::Client` directly.

    Release Notes:

    - N/A

commit 05afe95539e084f570c7828fe6a1c87cefb1fbe8
Author: Oleksiy Syvokon <[email protected]>
Date:   Wed May 28 22:31:54 2025 +0300

    agent: Fix bug in creating empty files (#31626)

    Release Notes:

    - NA

commit a5a116439e711772190b7fb8e5507eb5dbd95237
Author: Oleksiy Syvokon <[email protected]>
Date:   Wed May 28 21:44:49 2025 +0300

    agent: Rejecting agent changes shouldn't discard user edits (#31617)

    The fix prevents data loss, but it also results in a somewhat confusing
    UX. Specifically, after the user has made changes to an AI-created file,
    selecting "Reject" will leave AI changes in place.

    This is because there's no trivial way to disentangle user edits from
    the edits made by the AI.

    A better solution might exist. In the meantime, this change should do.

    Closes
    * #30527

    Release Notes:

    - Prevent data loss when reverting changes in an agent-created file

commit 361ceee72b6498bbb48726c4d14a026a81482bfb
Author: Marshall Bowers <[email protected]>
Date:   Wed May 28 14:34:44 2025 -0400

    collab: Introduce `StripeClient` trait to abstract over Stripe interactions (#31615)

    This PR introduces a new `StripeClient` trait to abstract over
    interacting with the Stripe API.

    This will allow us to more easily test our billing code.

    This initial cut is small and focuses just on making
    `StripeBilling::find_or_create_customer_by_email` testable. I'll follow
    up with using the `StripeClient` in more places.

    Release Notes:

    - N/A

commit 68724ea99edbb38a476206f805b3dfb4e8e33de9
Author: Danilo Leal <[email protected]>
Date:   Wed May 28 15:29:52 2025 -0300

    agent: Make clicking on the backdrop to dismiss message editing more reliable (#31614)

    Previously, the click on the backdrop to dismiss the message editing was
    unreliable. You would click on it and sometimes it would work and others
    it wouldn't. This PR fixes that now.

    Release Notes:

    - agent: Fixes the previous message dismissal by clicking on the
    backdrop

commit e12106e025b3fa09bf65284e57d5cca5fab1772f
Author: Danilo Leal <[email protected]>
Date:   Wed May 28 15:24:58 2025 -0300

    agent: Move focus to the panel after dismissing a user message edit (#31611)

    Previously, when you clicked on a previous message to edit it and then
    dismissed it, your focus would jump to the buffer. This caught me
    several times as the most obvious place to return to for me was the
    agent panel main message editor, so I can continue prompting something
    else. And this is what this PR changes.

    Release Notes:

    - agent: Improved previous message editing UX by returning focus to the
    main panel's text area after dismissing it.

commit 77aa667bf33cc10b277eae8d43c5de53099b6d49
Author: Umesh Yadav <[email protected]>
Date:   Wed May 28 23:39:20 2025 +0530

    docs: Update LM Studio docs to show tool use is supported (#31610)

    As the lmstudio tool call support was added recently:
    https://github.com/zed-industries/zed/pull/30589. This updates the doc
    to reflect it.

    Release Notes:

    - N/A

commit 8b47b40dc09b332edb27ba211895cd252475872e
Author: Peter Tripp <[email protected]>
Date:   Wed May 28 13:54:07 2025 -0400

    Improve AI GitHub Issue template (#31598)

    Release Notes:

    - N/A

commit 01990c83751f24098c4f214f7b0435810881aa7b
Author: Max Brunsfeld <[email protected]>
Date:   Wed May 28 10:12:27 2025 -0700

    Bump Tree-sitter to 0.25.5 for YAML-editing crash fix (#31603)

    Closes https://github.com/zed-industries/zed/issues/31380

    See https://github.com/tree-sitter/tree-sitter/pull/4472 for the fix

    Release Notes:

    - Fixed a crash that could occur when editing YAML files.

commit 4e7dc37f0164500c92569c2fab285d73390a711d
Author: Umesh Yadav <[email protected]>
Date:   Wed May 28 22:13:08 2025 +0530

    language_models: Remove handling of WrappedTextContent in tool result content (#31605)

    Fixes ci pipeline

    Release Notes:

    - N/A

commit 00fd045844a4bfc902863c64a2a331df16fea629
Author: Richard Feldman <[email protected]>
Date:   Wed May 28 12:06:07 2025 -0400

    Make language model deserialization more resilient (#31311)

    This expands our deserialization of JSON from models to be more tolerant
    of different variations that the model may send, including
    capitalization, wrapping things in objects vs. being plain strings, etc.

    Also when deserialization fails, it reports the entire error in the JSON
    so we can see what failed to deserialize. (Previously these errors were
    very unhelpful at diagnosing the problem.)

    Finally, also removes the `WrappedText` variant since the custom
    deserializer just turns that style of JSON into a normal `Text` variant.

    Release Notes:

    - N/A

commit 7443fde4e9d34b3b4558c68787453f44b323e485
Author: Joseph T. Lyons <[email protected]>
Date:   Wed May 28 11:51:21 2025 -0400

    Show version info when downloading and installing updates (#31568)

    Follow up to #31179

    In addition to seeing the version when in the `Click to restart and
    update Zed` status, this PR allows us to see the version when in
    `Downloading Zed update…` or `Installing Zed update…` status, in a
  …
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla-signed The user has signed the Contributor License Agreement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Copy and paste still doesn't work
3 participants